package com.yonyou.brigade.facade.model;

import java.util.ArrayList;
import java.util.List;

public class ApplyInfo {

    private String approvalNumber;

    private String employeeID;

    private String matters;

    private String fromChannel;

    private String tenant;

    private String phone;

    private ArrayList<FlightEndorsementDetail> flightEndorsementDetails;

    private ArrayList<HotelEndorsementDetail> hotelEndorsementDetails;

    private ArrayList<TrainEndorsementDetail> trainEndorsementDetails;

    private ArrayList<OtherEndorsementDetail> otherEndorsementDetails;

    public String getApprovalNumber() {
        return approvalNumber;
    }

    public void setApprovalNumber(String approvalNumber) {
        this.approvalNumber = approvalNumber;
    }

    public String getEmployeeID() {
        return employeeID;
    }

    public void setEmployeeID(String employeeID) {
        this.employeeID = employeeID;
    }

    public String getMatters() {
        return matters;
    }

    public void setMatters(String matters) {
        this.matters = matters;
    }

    public ArrayList<FlightEndorsementDetail> getFlightEndorsementDetails() {
        return flightEndorsementDetails;
    }

    public String getTenant() {
        return tenant;
    }

    public void setTenant(String tenant) {
        this.tenant = tenant;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getFromChannel() {
        return fromChannel;
    }

    public void setFromChannel(String fromChannel) {
        this.fromChannel = fromChannel;
    }

    public void setFlightEndorsementDetails(ArrayList<FlightEndorsementDetail> flightEndorsementDetails) {
        this.flightEndorsementDetails = flightEndorsementDetails;
    }

    public ArrayList<HotelEndorsementDetail> getHotelEndorsementDetails() {
        return hotelEndorsementDetails;
    }

    public void setHotelEndorsementDetails(ArrayList<HotelEndorsementDetail> hotelEndorsementDetails) {
        this.hotelEndorsementDetails = hotelEndorsementDetails;
    }

    public ArrayList<TrainEndorsementDetail> getTrainEndorsementDetails() {
        return trainEndorsementDetails;
    }

    public void setTrainEndorsementDetails(ArrayList<TrainEndorsementDetail> trainEndorsementDetails) {
        this.trainEndorsementDetails = trainEndorsementDetails;
    }

    public ArrayList<OtherEndorsementDetail> getOtherEndorsementDetails() {
        return otherEndorsementDetails;
    }

    public void setOtherEndorsementDetails(ArrayList<OtherEndorsementDetail> otherEndorsementDetails) {
        this.otherEndorsementDetails = otherEndorsementDetails;
    }

    public class FlightEndorsementDetail
    {
        private String flightWay;

        private String departDateBegin;

        private String departDateEnd;

        private ArrayList<String> fromCities;

        private ArrayList<String> toCities;

        private Integer travelNo;

        private ArrayList<Passenger> passengerList;

        public String getFlightWay() {
            return flightWay;
        }

        public void setFlightWay(String flightWay) {
            this.flightWay = flightWay;
        }

        public String getDepartDateBegin() {
            return departDateBegin;
        }

        public void setDepartDateBegin(String departDateBegin) {
            this.departDateBegin = departDateBegin;
        }

        public String getDepartDateEnd() {
            return departDateEnd;
        }

        public void setDepartDateEnd(String departDateEnd) {
            this.departDateEnd = departDateEnd;
        }

        public ArrayList<String> getFromCities() {
            return fromCities;
        }

        public void setFromCities(ArrayList<String> fromCities) {
            this.fromCities = fromCities;
        }

        public ArrayList<String> getToCities() {
            return toCities;
        }

        public void setToCities(ArrayList<String> toCities) {
            this.toCities = toCities;
        }

        public Integer getTravelNo() {
            return travelNo;
        }

        public void setTravelNo(Integer travelNo) {
            this.travelNo = travelNo;
        }

        public ArrayList<Passenger> getPassengerList() {
            return passengerList;
        }

        public void setPassengerList(ArrayList<Passenger> passengerList) {

            this.passengerList = passengerList;
        }

        @Override
        public String toString() {
            return "FlightEndorsementDetail{" +
                    "flightWay='" + flightWay + '\'' +
                    ", departDateBegin='" + departDateBegin + '\'' +
                    ", departDateEnd='" + departDateEnd + '\'' +
                    ", fromCities=" + fromCities +
                    ", toCities=" + toCities +
                    ", travelNo=" + travelNo +
                    ", passengerList=" + passengerList +
                    '}';
        }
    }

    public class HotelEndorsementDetail{

        private String checkInDateBegin;

        private String checkInDateEnd;

        private String checkOutDateBegin;

        private String checkOutDateEnd;

        private ArrayList<String> toCities;

        private ArrayList<Passenger> passengerList;

        public String getCheckInDateBegin() {
            return checkInDateBegin;
        }

        public void setCheckInDateBegin(String checkInDateBegin) {
            this.checkInDateBegin = checkInDateBegin;
        }

        public String getCheckInDateEnd() {
            return checkInDateEnd;
        }

        public void setCheckInDateEnd(String checkInDateEnd) {
            this.checkInDateEnd = checkInDateEnd;
        }

        public String getCheckOutDateBegin() {
            return checkOutDateBegin;
        }

        public void setCheckOutDateBegin(String checkOutDateBegin) {
            this.checkOutDateBegin = checkOutDateBegin;
        }

        public String getCheckOutDateEnd() {
            return checkOutDateEnd;
        }

        public void setCheckOutDateEnd(String checkOutDateEnd) {
            this.checkOutDateEnd = checkOutDateEnd;
        }

        public ArrayList<String> getToCities() {
            return toCities;
        }

        public void setToCities(ArrayList<String> toCities) {
            this.toCities = toCities;
        }

        public ArrayList<Passenger> getPassengerList() {
            return passengerList;
        }

        public void setPassengerList(ArrayList<Passenger> passengerList) {
            this.passengerList = passengerList;
        }

        @Override
        public String toString() {
            return "HotelEndorsementDetail{" +
                    "checkInDateBegin='" + checkInDateBegin + '\'' +
                    ", checkInDateEnd='" + checkInDateEnd + '\'' +
                    ", checkOutDateBegin='" + checkOutDateBegin + '\'' +
                    ", checkOutDateEnd='" + checkOutDateEnd + '\'' +
                    ", toCities=" + toCities +
                    '}';
        }
    }

    public class  TrainEndorsementDetail
    {
        private String departDateBegin;
        private String departDateEnd;
        private List<Passenger> passengerList;
        private ArrayList<String> fromCities;
        private ArrayList<String> toCities;
        private ArrayList<String> seatType;

        public String getDepartDateBegin() {
            return departDateBegin;
        }

        public void setDepartDateBegin(String departDateBegin) {
            this.departDateBegin = departDateBegin;
        }

        public String getDepartDateEnd() {
            return departDateEnd;
        }

        public void setDepartDateEnd(String departDateEnd) {
            this.departDateEnd = departDateEnd;
        }

        public List<Passenger> getPassengerList() {
            return passengerList;
        }

        public void setPassengerList(List<Passenger> passengerList) {
            this.passengerList = passengerList;
        }

        public ArrayList<String> getFromCities() {
            return fromCities;
        }

        public void setFromCities(ArrayList<String> fromCities) {
            this.fromCities = fromCities;
        }

        public ArrayList<String> getToCities() {
            return toCities;
        }

        public void setToCities(ArrayList<String> toCities) {
            this.toCities = toCities;
        }

        public ArrayList<String> getSeatType() {
            return seatType;
        }

        public void setSeatType(ArrayList<String> seatType) {
            this.seatType = seatType;
        }

        @Override
        public String toString() {
            return "TrainEndorsementDetail{" +
                    "departDateBegin='" + departDateBegin + '\'' +
                    ", departDateEnd='" + departDateEnd + '\'' +
                    ", fromCities=" + fromCities +
                    ", toCities=" + toCities +
                    ", seatType=" + seatType +
                    '}';
        }
    }

    @Override
    public String toString() {
        return "ApplyInfo{" +
                "approvalNumber='" + approvalNumber + '\'' +
                ", employeeID='" + employeeID + '\'' +
                ", matters='" + matters + '\'' +
                ", fromChannel='" + fromChannel + '\'' +
                '}';
    }

    public class OtherEndorsementDetail {
        private String voyageType;

        private String travelTypeName;  //出行方式名称

        private String departDateBegin;

        private String departDateEnd;

        private ArrayList<String> fromCities;

        private ArrayList<String> toCities;

        private Integer travelNo;

        private ArrayList<Passenger> passengerList;

        public String getVoyageType() {
            return voyageType;
        }

        public void setVoyageType(String voyageType) {
            this.voyageType = voyageType;
        }

        public String getTravelTypeName() {
            return travelTypeName;
        }

        public void setTravelTypeName(String travelTypeName) {
            this.travelTypeName = travelTypeName;
        }

        public String getDepartDateBegin() {
            return departDateBegin;
        }

        public void setDepartDateBegin(String departDateBegin) {
            this.departDateBegin = departDateBegin;
        }

        public String getDepartDateEnd() {
            return departDateEnd;
        }

        public void setDepartDateEnd(String departDateEnd) {
            this.departDateEnd = departDateEnd;
        }

        public ArrayList<String> getFromCities() {
            return fromCities;
        }

        public void setFromCities(ArrayList<String> fromCities) {
            this.fromCities = fromCities;
        }

        public ArrayList<String> getToCities() {
            return toCities;
        }

        public void setToCities(ArrayList<String> toCities) {
            this.toCities = toCities;
        }

        public Integer getTravelNo() {
            return travelNo;
        }

        public void setTravelNo(Integer travelNo) {
            this.travelNo = travelNo;
        }

        public ArrayList<Passenger> getPassengerList() {
            return passengerList;
        }

        public void setPassengerList(ArrayList<Passenger> passengerList) {
            this.passengerList = passengerList;
        }

        @Override
        public String toString() {
            return "OtherEndorsementDetail{" +
                    "voyageType='" + voyageType + '\'' +
                    ", travelTypeName='" + travelTypeName + '\'' +
                    ", departDateBegin='" + departDateBegin + '\'' +
                    ", departDateEnd='" + departDateEnd + '\'' +
                    ", fromCities=" + fromCities +
                    ", toCities=" + toCities +
                    ", travelNo=" + travelNo +
                    ", passengerList=" + passengerList +
                    '}';
        }
    }


}
